import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import { resolve } from 'path'

// https://vitejs.dev/config/
export default defineConfig({
  plugins: [vue()], // 插件列表
  resolve: {
    alias: { // 配置别名
      '@': resolve(__dirname, 'src')
    },
    // 导入时想要省略的扩展名列表
    // 不建议使用 .vue 影响 IDE 和类型支持
    extensions: ['.mjs', '.js', '.ts', '.jsx', '.tsx', '.json'] // import 时可以省略拓展名
  },
  css: {
    preprocessorOptions: {
      scss: {
        additionalData: `@import "./src/assets/styles/variables.scss"`  // 为每一段样式内容添加额外的代码(变量)
      }
    },
    postcss: {
      plugins: [
        {  
          // 移除CSS文件中的 @charset 规则，@charset 必须位于 CSS 文件的最开始，并且只能出现一次
          postcssPlugin: "internal:charset-removal",
          AtRule: {
            charset: (atRule) => {
              if (atRule.name === "charset") {
                atRule.remove()
              }
            }
          }
        }
      ]
    }
  }
})
